package com.muc.handler;

import com.muc.entity.AdminDO;
import com.muc.service.AdminService;
import com.muc.service.CarService;
import com.muc.service.impl.AdminServiceImpl;
import com.muc.service.impl.CarServiceImpl;
import com.muc.view.AddCarView;
import com.muc.view.LoginView;
import com.muc.view.MainView;
import com.muc.view.UpdateCarView;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

//操作类
public class MainViewHandler implements ActionListener {
    private MainView mainView;
    public MainViewHandler(MainView mainView){
        this.mainView = mainView;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        JButton jButton = (JButton) e.getSource();
        String text = jButton.getText();
        if("增加".equals(text)){
            //传递增加信息
            mainView.setAdd(true);
//            new AddCarView(mainView);
        }else if("修改".equals(text)){
            int[] selectedCarIds = mainView.getSelectedCarIds();
            if(selectedCarIds.length!=1){
                JOptionPane.showMessageDialog(mainView,"一次只能修改一行");
            }else {
//                new UpdateCarView(mainView, selectedCarIds[0]);
                //传递修改信息 和下标
                mainView.setUpdate(true);

            }
        }else if("删除".equals(text)){
            int[] selectedCarIds = mainView.getSelectedCarIds();
            if(selectedCarIds.length  == 0){
                JOptionPane.showMessageDialog(mainView,"请选择要删除的行!");
                return;
            }
            int option = JOptionPane.showConfirmDialog(mainView, "你确认要删除选择的" + selectedCarIds.length + "行吗?", "确认删除",
                    JOptionPane.YES_NO_OPTION);
            if(option == JOptionPane.YES_OPTION){//确认
                mainView.setDel(true);//删除信息标志
                //从GUI传送删除信息 和 要删除的下标 --》 给我的客户端

                /*CarService carService = new CarServiceImpl();
                boolean deleteResult = carService.delete(selectedCarIds);
            if(deleteResult){
                    JOptionPane.showMessageDialog(mainView,"删除目标车辆成功!");
                    mainView.reloadTable();
                }else {
                    JOptionPane.showMessageDialog(mainView,"删除车辆信息失败!");
                }*/
            }
        }else if("查询".equals(text)){

            mainView.setSearch(true);
//            mainView.setPageNow(1);
//            mainView.reloadTable();
        }else if("上一页".equals(text)){
//            mainView.setPageNow(mainView.getPageNow()-1);
            mainView.setPrePage(true);
        }else if("下一页".equals(text)){
//            mainView.setPageNow(mainView.getPageNow()+1);
            mainView.setNextPage(true);
        }
        /*if("增加".equals(text)){
            new AddCarView(mainView);
        }else if("修改".equals(text)){
            int[] selectedCarIds = mainView.getSelectedCarIds();
            if(selectedCarIds.length!=1){
                JOptionPane.showMessageDialog(mainView,"一次只能修改一行");
            }else {
                new UpdateCarView(mainView, selectedCarIds[0]);
            }
        }else if("删除".equals(text)){
            int[] selectedCarIds = mainView.getSelectedCarIds();
            if(selectedCarIds.length  == 0){
                JOptionPane.showMessageDialog(mainView,"请选择要删除的行!");
                return;
            }
            int option = JOptionPane.showConfirmDialog(mainView, "你确认要删除选择的" + selectedCarIds.length + "行吗?", "确认删除",
                    JOptionPane.YES_NO_OPTION);
            if(option == JOptionPane.YES_OPTION){//确认删除
                CarService carService = new CarServiceImpl();
                boolean deleteResult = carService.delete(selectedCarIds);
            if(deleteResult){
                    JOptionPane.showMessageDialog(mainView,"删除目标车辆成功!");
                    mainView.reloadTable();
                }else {
                    JOptionPane.showMessageDialog(mainView,"删除车辆信息失败!");
                }
            }
        }else if("查询".equals(text)){
            mainView.setPageNow(1);
            mainView.reloadTable();
        }else if("上一页".equals(text)){
            mainView.setPageNow(mainView.getPageNow()-1);

        }else if("下一页".equals(text)){
            mainView.setPageNow(mainView.getPageNow()+1);
        }*/
    }


}
